﻿-- Fornecedores
delete from dbo.stdcamposvar where tabela = 'Fornecedores';
go

ALTER TABLE [dbo].[Fornecedores] drop  CONSTRAINT [Fornecedores_CDU_FUNCIONARIO_DF];
go

alter table fornecedores drop column CDU_Funcionario;
go

ALTER TABLE [dbo].[Fornecedores] drop  CONSTRAINT [Fornecedores_CDU_CustoDaHora_DF];
go

alter table fornecedores drop column CDU_CustoDaHora;
go

insert into dbo.stdcamposvar values('Fornecedores', 'CDU_Funcionario', 'Tratar como funcionário', 'Funcionário', 1, 1, NULL, 0, NULL);
go

alter table dbo.fornecedores add CDU_Funcionario bit;
go

ALTER TABLE [dbo].[Fornecedores] ADD  CONSTRAINT [Fornecedores_CDU_FUNCIONARIO_DF]  DEFAULT ((0)) FOR [CDU_FUNCIONARIO];
go

insert into dbo.stdcamposvar values('Fornecedores', 'CDU_CustoDaHora', 'Custo da hora', 'Custo da hora', 1, 2, NULL, 0, NULL);
go

alter table dbo.fornecedores add CDU_CustoDaHora money;
go

ALTER TABLE [dbo].[Fornecedores] ADD  CONSTRAINT [Fornecedores_CDU_CustoDaHora_DF]  DEFAULT ((0)) FOR [CDU_CustoDaHora];
go

-- Horarios.
delete from dbo.stdtabelasvar where tabela = 'TDU_Horarios';
go

delete from dbo.stdcamposvar where tabela = 'TDU_Horarios';
go

drop table dbo.TDU_Horarios;
go

insert into dbo.stdtabelasvar values('TDU_Horarios', 'ERP');
insert into dbo.stdcamposvar (tabela, campo, descricao, texto, visivel, ordem) values('TDU_Horarios', 'CDU_Data', 'Data', 'Data', 1, 3);
insert into dbo.stdcamposvar (tabela, campo, descricao, texto, visivel, ordem) values('TDU_Horarios', 'CDU_Funcionario', 'Funcionário', 'Funcionário', 1, 1);
insert into dbo.stdcamposvar (tabela, campo, descricao, texto, visivel, ordem) values('TDU_Horarios', 'CDU_Nome', 'Nome', 'Nome', 1, 2);
insert into dbo.stdcamposvar (tabela, campo, descricao, texto, visivel, ordem) values('TDU_Horarios', 'CDU_NumeroHorasDia' ,'Nº Horas Dia', 'Nº Horas Dia', 1, 4);
insert into dbo.stdcamposvar (tabela, campo, descricao, texto, visivel, ordem) values('TDU_Horarios', 'CDU_Id_Horario' ,'', '', 0, 5);
go

CREATE TABLE [dbo].[TDU_Horarios](
	[CDU_Funcionario] [nvarchar](10) NULL,
	[CDU_Nome] [nvarchar](50) NULL,
	[CDU_Data] [datetime] NULL,
	[CDU_NumeroHorasDia] [decimal](10, 2) NULL CONSTRAINT [TDU_Horarios_CDU_NumeroHorasDia_DF]  DEFAULT ((0)),
	[CDU_Id_Horario] [int] IDENTITY(1,1) NOT NULL
) ON [PRIMARY];
go 

alter table [dbo].[TDU_Horarios] add constraint [PK_TDU_Horarios] PRIMARY KEY CLUSTERED ([CDU_Id_Horario]) on [primary];
go

-- Escaloes.
delete from dbo.stdtabelasvar where tabela = 'TDU_Escaloes';
delete from dbo.stdcamposvar where tabela = 'TDU_Escaloes';
go

drop table dbo.TDU_Escaloes;
go

insert into dbo.stdtabelasvar values('TDU_Escaloes', 'ERP');
insert into dbo.stdcamposvar (tabela, campo, descricao, texto, visivel, ordem) values('TDU_Escaloes', 'CDU_DataAte', 'Data (Até)', 'Data (Até)', 1, 2);
insert into dbo.stdcamposvar (tabela, campo, descricao, texto, visivel, ordem) values('TDU_Escaloes', 'CDU_DataDesde', 'Data (Desde)', 'Data (Desde)', 1, 1);
insert into dbo.stdcamposvar (tabela, campo, descricao, texto, visivel, ordem) values('TDU_Escaloes', 'CDU_NumeroHoras', 'Nº Horas', 'Nº Horas', 1, 3);
insert into dbo.stdcamposvar (tabela, campo, descricao, texto, visivel, ordem) values('TDU_Escaloes', 'CDU_Premio', 'Prémio (%)', 'Prémio (%)', 1, 4);
go

CREATE TABLE [dbo].[TDU_Escaloes](
	[CDU_DataDesde] [datetime] NULL,
	[CDU_DataAte] [datetime] NULL,
	[CDU_NumeroHoras] [decimal](10, 2) NULL CONSTRAINT [TDU_Escaloes_CDU_NumeroHoras_DF]  DEFAULT ((0)),
	[CDU_Premio] [decimal](18, 5) NULL CONSTRAINT [TDU_Escaloes_CDU_Premio_DF]  DEFAULT ((0)),
	[CDU_Id_Escalao] [int] IDENTITY(1,1) NOT NULL
) ON [PRIMARY];
go

alter table [dbo].[TDU_Escaloes] add constraint [PK_TDU_Escaloes] PRIMARY KEY CLUSTERED ([CDU_Id_Escalao]) on [primary];
go

-- Equivalencia Código Barras.
delete from dbo.stdtabelasvar where tabela = 'TDU_EquivalenciasCBarras';
delete from dbo.stdcamposvar where tabela = 'TDU_EquivalenciasCBarras';
go

drop table dbo.TDU_EquivalenciasCBarras;
go

insert into dbo.stdtabelasvar values('TDU_EquivalenciasCBarras', 'ERP');
insert into dbo.stdcamposvar (tabela, campo, descricao, texto, visivel, ordem) values('TDU_EquivalenciasCBarras', 'CDU_Artigo', 'Artigo', 'Artigo', 1, 2);
insert into dbo.stdcamposvar (tabela, campo, descricao, texto, visivel, ordem) values('TDU_EquivalenciasCBarras', 'CDU_CodigoBarras', 'Código de Barras', 'Código de Barras', 1, 3);	
insert into dbo.stdcamposvar (tabela, campo, descricao, texto, visivel, ordem) values('TDU_EquivalenciasCBarras', 'CDU_CodigoEntidade', 'Código da Entidade', 'Código da Entidade', 1, 1);
insert into dbo.stdcamposvar (tabela, campo, descricao, texto, visivel, ordem) values('TDU_EquivalenciasCBarras', 'CDU_Id_EquivalenciaCBarras', '', '', 0, 4);
go

CREATE TABLE [dbo].[TDU_EquivalenciasCBarras](
	[CDU_CodigoEntidade] [nvarchar](10) NULL,
	[CDU_Artigo] [nvarchar](48) NULL,
	[CDU_CodigoBarras] [nvarchar](50) NULL,
	[CDU_Id_EquivalenciaCBarras] [int] IDENTITY(1,1) NOT NULL
) ON [PRIMARY];
go

alter table [dbo].[TDU_EquivalenciasCBarras] add constraint [PK_TDU_EquivalenciasCBarras] PRIMARY KEY CLUSTERED ([CDU_Id_EquivalenciaCBarras]) on [primary];
go

-- Tara.
delete from dbo.stdtabelasvar where tabela = 'TDU_Tara';
delete from dbo.stdcamposvar where tabela = 'TDU_Tara';
go

drop table dbo.TDU_Tara;
go

insert into dbo.stdtabelasvar values('TDU_Tara', 'ERP');
insert into dbo.stdcamposvar (tabela, campo, descricao, texto, visivel, ordem) values('TDU_Tara', 'CDU_Tara', 'Tara', 'Tara', 1, 1);
insert into dbo.stdcamposvar (tabela, campo, descricao, texto, visivel, ordem) values('TDU_Tara', 'CDU_Id_Tara', '', '', 0, 2);

go

CREATE TABLE [dbo].[TDU_Tara](
	[CDU_Tara] [decimal](18, 5) NULL,
	[CDU_Id_Tara] [int] IDENTITY(1,1) NOT NULL
) ON [PRIMARY];

go

alter table [dbo].[TDU_Tara] add constraint [PK_TDU_Tara] PRIMARY KEY CLUSTERED ([CDU_Id_Tara]) on [primary];

go

-- Empregados.
drop view [dbo].[EmployeesView];

go

CREATE VIEW [dbo].[EmployeesView]
AS
SELECT     Nome, Fornecedor, CDU_Funcionario, CDU_CustoDaHora, TipoTerceiro
FROM         dbo.Fornecedores
WHERE     (CDU_Funcionario = 1) AND (FornecedorAnulado = 0)

go

-- Equipas.
drop view [dbo].[TeamsView];

go

CREATE VIEW [dbo].[TeamsView]
AS
SELECT DISTINCT dbo.TipoTerceiros.TipoTerceiro, dbo.TipoTerceiros.Descricao
FROM         dbo.Fornecedores INNER JOIN
                      dbo.TipoTerceiros ON dbo.Fornecedores.TipoTerceiro = dbo.TipoTerceiros.TipoTerceiro
WHERE     (dbo.Fornecedores.CDU_Funcionario = 1)

GO